#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Módulos 
import sys, gtk, pygame, utils, objetos
from pygame.locals import *

# Constantes

# Clases
# ---------------------------------------------------------------------
        
class Linea:
	def __init__(self,texto,posx,posy):
		self.text,self.rect = utils.textotls(texto, posx,posy,18,(0,0,0))


# ---------------------------------------------------------------------
def dibujar(screen,cursor_picture, clock):
    salir = 0
    background_image = utils.load_image('images/fondo_3.jpg')
    i= 0
    j= 0
    numero_linea = 1
    btn_adelante = objetos.BotonAdelante()
    btn_atras = objetos.BotonAtras()
    
    
    clase, clase_rect = utils.texto_clase("Clase 3", 740*utils.RES, 30*utils.RES)
           
    titulo, titulo_rect = utils.texto_subtitulo("El compostaje", 400*utils.RES, 80*utils.RES)
     
    bloque1 = ( Linea('Otra forma de valorización es el COMPOSTAJE. Los restos de comida, de poda de árboles', 392*utils.RES,130*utils.RES),
    Linea('y jardines u otros residuos orgánicos (que provienen del reino animal o vegetal) pueden', 400*utils.RES,150*utils.RES),
    Linea('pasar por un proceso que los transforma en abono y sirve para enriquecer la tierra.', 380*utils.RES,170*utils.RES))
    
    bloque2 = ( Linea('Para que los materiales puedan ser aprovechados por distintos fabricantes', 397*utils.RES,230*utils.RES),
    Linea('es necesario que los desechos se depositen en tachos de basura separados:', 400*utils.RES,250*utils.RES))
    
    bloque3 = ( Linea('Esto permite que se recolecten en forma selectiva y que luego', 400*utils.RES,420*utils.RES),
    Linea('sean valorizados con el tratamiento adecuado para cada uno.', 400*utils.RES,440*utils.RES))    
    
    tachos = (Linea('Plásticos', 100*utils.RES,350*utils.RES),
    Linea('Metales', 250*utils.RES,350*utils.RES),
    Linea('Papeles y', 395*utils.RES,340*utils.RES),
    Linea('Cartones', 395*utils.RES,360*utils.RES),
    Linea('Vidrios', 540*utils.RES,350*utils.RES),
    Linea('Residuos', 685*utils.RES,340*utils.RES),
    Linea('Orgánicos', 685*utils.RES,360*utils.RES))
    
    tacho1 = utils.load_image('images/c3_13a.png',True)
    tacho2 = utils.load_image('images/c3_13c.png',True)
    tacho3 = utils.load_image('images/c3_13b.png',True)
    tacho4 = utils.load_image('images/c3_13e.png',True)
    tacho5 = utils.load_image('images/c3_13d.png',True)
    frame = 0
    
    while salir == 0:
    
    	# Pump GTK messages.sub
		while gtk.events_pending():
			gtk.main_iteration()
			
		for eventos in pygame.event.get():
			if eventos.type == QUIT:
				sys.exit(0)
			elif eventos.type == pygame.VIDEORESIZE:
			   pygame.display.set_mode(eventos.size, pygame.RESIZABLE)	
			elif eventos.type == MOUSEBUTTONDOWN:
				if btn_adelante.rect.collidepoint(pygame.mouse.get_pos()):
					salir = 14
					btn_adelante.sonido.play()	
				elif btn_atras.rect.collidepoint(pygame.mouse.get_pos()):
					salir = 12					
					btn_atras.sonido.play()	
				

		# Realiza la animacion del texto
		frame = 200
		screen.blit(background_image, (0, 0))
		#screen.blit(beto, (-30*utils.RES, 70*utils.RES))
		screen.blit(clase, clase_rect)
		if frame > 20:
			screen.blit(titulo, titulo_rect)
		if frame > 50:
			pygame.draw.rect(screen,(255,200,100),(60*utils.RES,110*utils.RES,670*utils.RES,85*utils.RES))
			for palabra in bloque1:
				screen.blit(palabra.text, palabra.rect)
		if frame > 100:
			for palabra in bloque2:
				screen.blit(palabra.text, palabra.rect)
		
		screen.blit(tacho1, (30*utils.RES, 290*utils.RES))
		screen.blit(tacho2, (175*utils.RES, 290*utils.RES))
		screen.blit(tacho3, (320*utils.RES, 290*utils.RES))
		screen.blit(tacho4, (465*utils.RES, 290*utils.RES))
		screen.blit(tacho5, (610*utils.RES, 290*utils.RES))
		for palabra in tachos:
				screen.blit(palabra.text, palabra.rect)
				
		if frame > 120:
			pygame.draw.rect(screen,(155,200,200),(150*utils.RES,400*utils.RES,500*utils.RES,65*utils.RES))		
			for palabra in bloque3:
				screen.blit(palabra.text, palabra.rect)		
		screen.blit(btn_adelante.image, btn_adelante.rect)
		screen.blit(btn_atras.image, btn_atras.rect)
		screen.blit(cursor_picture, pygame.mouse.get_pos())
		pygame.display.flip()

		# Try to stay at 30 FPS
		clock.tick(30)
		frame += 1
                	 
    return salir

# This function is called when the game is run directly from the command line:
# ./TestGame.py 
def main():
	
	pygame.init()
	screen = pygame.display.set_mode((int(800*utils.RES), int(520*utils.RES)), pygame.RESIZABLE) #pygame.display.get_surface() #

	# Fake a Sugar cursor for the pyGame canvas area
	pygame.mouse.set_cursor((8,8),(0,0),(0,0,0,0,0,0,0,0),(0,0,0,0,0,0,0,0))
	cursor_picture = pygame.image.load('images/standardcursor.png')
	cursor_picture.convert_alpha() 
	clock = pygame.time.Clock()
	dibujar(screen,cursor_picture,clock)

if __name__ == '__main__':
   main()
